Modul Wahlpflichtfächer 1, Medieninformatik (Bachelor) (SPO 6)

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Wahlpflichtfächer 1

MINB550

Prof. Dr.-Ing. Holger Vogelsang

/

5. Semester

keine

keine

Die Wahlpflichtfächer versetzen die Studierenden in die Lage, nach eigenem Interesse Schwerpunkte zu setzen und damit weitere Fachgebiete der Informatik oder Medieninformatik anzuwenden. Die zum Modul gehörenden Lehrveranstaltungen werden jeweils zu Semesterbeginn im Intranet bekannt gegeben.

Einzelprüfungen
Lehrveranstaltung App-Programmierung

I W912

Vorlesung

M.Sc. Adrian Wörle

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Die Vorlesung vermittelt die Grundlagen der mobilen Anwendungsentwicklung anhand der Android-Plattform. Hierfür werden verschiedene Konzepte behandelt, die für die Erstellung einer Android-App von Bedeutung sind. Dazu zählen allgemeine Elemente, wie das Android Studio, Gradle, Activity, LifeCycle und Kotlin sowie die Verwendung des neuen UI-Frameworks Compose und weitere essenzielle Komponenten wie Architektur, ViewModel, Datenbank, Netzwerk und Coroutines. Ziel der Vorlesung ist es, den Studierenden das eigenständige Entwickeln einer einfachen Android-App zu ermöglichen. Begleitend dazu wird auch der unterstützende Einsatz von KI-Assistenten wie Github Copilot beleuchtet, bspw. für die Codevervollständigung und -generierung oder das Erklären von Codeabschnitten und Logik. Darüber hinaus werden Themen wie Tools, Profiling und Testing angesprochen.

  • Vorlesungsfolien

Seminaristischer Unterricht mit Übungsaufgaben und Bonusaufgabe

Lehrveranstaltung Cloud Computing

I W913

Vorlesung

Dipl. Inform. (FH) Georg Magschok
Dipl. Inform. (FH) Michael Fischer

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Das Modewort "Cloud" vertritt eine Reihe interessanter Technologien, die aus dem Arbeiten eines Informatikers kaum noch wegzudenken sind. Diese werden umfassend gesammelt, ergründet, erklärt und verstanden. Dabei steht der Nutzen für die Studierenden im Vordergrund, egal ob sie in die Rolle des Anwenders, des Entwicklers, des Administrators oder des Entrepreneurs schlüpfen. Ziele der Veranstaltung sind das Verstehen der Hintergründe des weiten Begriffs "Cloud Computing" unter vielen Blickwinkeln: Definition, Use Cases, Technologische Grundlagen, Anbieter, APIs, Skalierung, Redundanz uvm.

  • Powerpoint-Folien
  • Tafelmitschrift

Vorlesung

Lehrveranstaltung Datenschutzfördernde Technologien

I W000

Vorlesung

nn1

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Lehrveranstaltung Einführung in das Maschinelle Lernen mit Übung

I W173

Vorlesung

Prof. Dr. Patrick Baier

deutsch

4/4

120 Stunden gesamt, davon 60 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Die Vorlesung gibt den Studierenden eine allgemeine Einführung in das Themengebiet des Maschinellen Lernens als Teilgebiet der Künstlichen Intelligenz. Dabei wird, beginnend mit klassischen Methoden, ein Überblick über die wichtigsten Themengebiete in diesem Bereich gegeben, der mit einem kurzen Einblick in die aktuellen Entwicklungen rund um "Deep Learning" endet.

Neben den theoretischen Grundlagen wird der praktische Einsatz der gelernten Methoden mit Hilfe der Programmiersprache Python und dem Einsatz von Jupyter Notebooks gezeigt.

Die Inhalte der Vorlesung umfassen:

  • Einführung und Überblick über das Themenfeld
  • Einführung in die Programmiersprache Python und Jupyter Notebooks
  • Lineare Regression
  • Logistische Regression
  • ML-Workflow
  • Over- und Underfitting
  • Entscheidungsbäume
  • Ensemble Learning (Random Forest, Gradient Boosting)
  • Unsupervised Learning
  • Neuronale Netze und Deep Learning

Die in der Vorlesung "Maschinelles Lernen" erlernten Kenntnisse werden in der Übung vertieft und praktisch geübt.

Die Übung beinhaltet einen praktischen Programmierteil in der Programmiersprache Python, welche zu Anfang des Semesters im Rahmen der Übung eingeführt wird.

  • A. Géron, "Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow", O'Reilly Media, 2nd Edition, 2019.
  • J. Frochte, "Maschinelles Lernen - Grundlagen und Algorithmen in Python", Carl Hanser Verlag, 2. Auflage, 2019.
Lehrveranstaltung Einführung in die Angewandte Kryptographie

I W505

Vorlesung

Dr. Carmen Kempka

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

In dieser Vorlesung werden die grundlegenden Methoden der Kryptographie vorgestellt. Dabei wird nach den einführenden Grundlagen der Schwerpunkt auf die Mechanismen gelegt, die typischerweise bei modernen Anwendungen zum Einsatz kommen.

Wesentliche Themen sind symmetrische Verschlüsselungsverfahren, insbesondere Blockchiffren (DES, AES), Modes of Operation (z.B. EBC, CBC), Hash-Funktionen, Message-Authentication-Codes, Public-Key-Verfahren (z.B. RSA, Diffie-Helman, ElGamal), Key-Management und elektronische Unterschriften.

Im weiteren Verlauf werden verschiedene, aktuelle Anwendungen der IT-Sicherheit, die auf dem Einsatz kryptographischer Verfahren beruhen, behandelt: E/Mail-Sicherheit (z.B. PGP, S-MIME), WWW-Sicherheit (SSL), Netzwerksicherheit (IP-SEC), Sicherheit von Web-Servern (Authentifikations-Mechanismen). Anhand dieser Beispiele werden wesentliche Grundprinzipien der IT-Sicherheit erläutert.

Ausführliche Folien werden im Intranet angeboten. Die Foliensätze der einzelnen Themen enthalten jeweils gesondert Literaturhinweise.

Einen Überblick bietet:

  • Claudia Eckert: IT-Sicherheit. Konzepte - Verfahren - Protokolle, München, Oldenbourg Wissenschaftsverlag, 2013, 8. Auflage, ISBN 978-3-486-58270-3.

Die Lehrveranstaltung wird zu ca. 2/3 als Vorlesung durchgeführt. In der übrigen Zeit werden betreute Übungen durchgeführt, um die Techniken an praktischen Rechenbeispielen zu vertiefen.

Lehrveranstaltung Embedded Software

I W611

Vorlesung

Prof. Dr. Dirk Hoffmann

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Die Studierenden werden befähigt, die grundlegenden Konzepte der Software-Entwicklung eingebetteter Echtzeitsysteme zu verstehen. Eingebettete Systeme im Sinne dieser Vorlesung sind alle durch Software kontrollierten Computer, die Teil eines größeren Systems sind und deren primäre Funktion nicht rechenorientiert ist. Bei Echtzeitsystemen kommen zusätzlich Aspekte der Rechtzeitigkeit hinzu, d.h., es geht um Systeme, die nicht nur eine korrekte Antwort liefern müssen, sondern die Systemantwort zusätzlich innerhalb einer vorgegebenen und garantierten Zeitspanne berechnen. Im Einzelnen werden Themen aus den folgenden Bereichen behandelt: Entwurf und Architektur von Kfz-Steuergeräten, Grundlagen der Echtzeitprogrammierung, Codierungen zur Datenübertragungen, Embedded-C. Die Teilnehmer der Vorlesung wenden ihre Kenntnisse anhand von Übungsaufgaben an.

  • Powerpoint-Folien
  • Tafelmitschrift
  • Übungsblätter

Vorlesungsteilnahme + 50 % selbständige Arbeit

Lehrveranstaltung ERP-Systeme mit Laborübungen

I W551

Vorlesung

Prof. Dr. rer. pol. Mathias Philipp

deutsch

4/4

120 Stunden gesamt, davon 60 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

  • ERP-Grundlagen
  • Einführung integrierte Geschäftsprozesse
  • Prozessautomatisierung am Beispiel Vertriebsprozess
  • Einführung von Standardsoftware: Unternehmensmodellierung und Customizing
  • Architektur von ERP-Systemen

  • Vorlesungsmaterial vollständig in PowerPoint-Folien
  • Tafelaufschrieb bei interaktiver Erarbeitung von Kernproblemstellungen
  • ein Hauptlehrbuch zu ERP
  • ein Hauptlehrbuch zu SAP ECC 6.0

Vorlesungsteilnahme

Lehrveranstaltung IT-Sicherheitsmanagement

I W394

Vorlesung

Prof. Dr. rer. pol. Mathias Philipp

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

Lehrveranstaltung Mathematik für Maschinelles Lernen

I W610

Vorlesung

M.Sc. Ahmad Assani
Prof. Dr.-Ing. Astrid Laubenheimer

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur/mündl. Prüfung 90/20 Min. (benotet)

In der Vorlesung werden mathematische Kenntnisse vertieft, die für Maschinelles Lernen erforderlich sind.

  • Lineare Algebra: Matrizenrechnung, Lineare Abbildungen, Transformationen, Affine Räume
  • Analytische Geometrie: Vektorrechnung, Projektionen, Orthogonalisierung
  • Matrizen: Eigenwerte und Eigenvektoren, Diagonalisierbarkeit der Matrizen
  • Multivariate Analysis: Partielle Ableitungen, Gradienten, Jakobian, Extremwerte und Sattelpunkte, Multivariate Taylor-Reihe
  • Stochastik und Statistik: Diskrete und stetige Zufallsvariablen, Multivariate Statistik

Deisenroth M.P., Faisal A.A., Ong C.S. Mathematics for Machine Learning

Lehrveranstaltung Parallele Systeme

I W391

Vorlesung

Prof. Dr. Christian Langen

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Mündliche Prüfung 20 Min. (benotet)

Lernziele:

  • Verstehen des aktuellen Stands der Technik bei GPU-Programmierumgebungen und paralleler Programmentwicklung.
  • Verstehen der Konzepte der Wechselwirkungen zwischen Hardware und Software im GPU-Computing und Einfluss auf Leistungsfähigkeit.
  • Anwendung von Maßnahmen zur Leistungssteigerung in Abhängigkeit von der jeweiligen Anwendung und verfügbaren Rechenleistung.
  • Die Fähigkeit Projektergebnisse zu präsentieren und zu diskutieren.

Allgemein:

  • Historischer Hintergrund des High Performance Computing (HPC): Single Instruction Multiple Data (SIMD) Systeme (Flynn's Taxonomie), latenz- und duchsatzoptimierte Parallelrechner.
  • Grafikprozessorarchitekturen (GPU), Speicherarchitekturen, Speicherverwaltung.


CUDA-C/C++-Programmierung:

  • Datenparallele Programmierung: Parallelisierung von Schleifen durch Kernelprogrammierung
  • Thread-Programmierung
  • Grid-Programmierung
  • 2D-Grids
  • Synchronisierung
  • CUDA-Streams
  • Optimierungsstrategien
  • Anwendungen im „Wissenschaftlichen Rechnen“: 2D-Wärmeausbreitung (Differenzengleichungen), Kryptographie (Feistel-Algorithmus), Mehrkörperproblem.


OpenAcc- und Numba (Python)-GPU-Programmierung.


Freie studentische Projekte.

  • Cheng, John; Grossman, Max, McKercher, Ty: Professional CUDA C Programming (NVIDIA). Wrox 2014
  • Cook, Shane: CUDA Programming. A Developer's Guide to Parallel Programming. Morgan Kaufmann 2013
  • Han, Jaegeun; Sharma, Bharatkumar: Learn CUDA Programming, Packt 2019
  • Kirk, David B., Hwu, Wen-mei W.: Programming Massively Parallel Processors: A Hands-on Approach (NVIDIA). Morgan Kaufmann 2016.
  • Sanders, Jason; Kandrot, Edward: CUDA by Example. An Introduction to General-Purpose GPU Programing, NVIDIA, Addison Wesley 2012
  • Storty, Duane; Yurtoglu, Mete: CUDA for Engineers. An Introduction to High-Performance Parallel Computing, Addison Wesley 2016
  • Vaidya, Bhaumik: Hands-on GPU-Accelerated Computer Vision with OpenCV and CUDA, Packt 2018
  • Wilt, Nicolas: The CUDA Handbook. A Comprehensive Guide to GPU Programming. Addyson Wesley 2013